mount nfs常见出错信息总结 |
您所在的位置:网站首页 › linux nfs共享 › mount nfs常见出错信息总结 |
在配置上s3c-2410开发环境的过程中,开发时设置共享目录进行挂载, 但是老是出现各种各样的问题, 整了一个下午才全部完成,所以在这里总结一下 通常当NFS不能正常使用时候会给出提示,一般给出一下几种: Permission deniedmount: 192.168.81.32:/opt failed, reason given by server: Permission denied 查看配置文件exports,是否为允许挂载的客户。 errno = No route to hostmount: RPC: Unable to receive; errno = No route to host 首先看是否在同一网段 再者输入: [root@localhost etc]# service iptables status 看防火墙是否开启,有则将其关闭 [root@localhost etc]# service iptables stop 注意:但是这样子有时候其实还是有一些问题, 因此我们干脆直接将防火墙关闭掉, 同时关闭selinux errno = Connection refusedmount: RPC: Unable to receive; errno = Connection refused ① 首先看nfs服务是否开启, ② 其次看rpcbind是否开启, 如果rpcbind没有运行,那在重新开启rpcbind后,要再restart nfs服务, 因为重启rpcbind已对nfs的一些配置造成影响,需要restart. 没错,看到这时候,你已经找到问题了, [root@localhost etc]# service iptables stop ,然后再service nfs restart 下就可以了。 需要将在linux里交叉编译好的程序放在arm上运行,所以首先要将程序copy至arm上,选择了nfs。 但在arm上mount nfs的时候遇到了失败的情况: 在网上查找解决方案: nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。 解决方法:kill 文件锁(lockd)或者mount -o nolock 于是尝试mount -o nolock -t nfs 192.168.1.24:/home/test /mnt/nfs,正常工作。 not responding,still trying..有时候传输大文件会出错, NFS: server 192.168.81.32 not responding,still trying.. 这个可能是NFS有问题,与RING或buffer的大小有关, 问题的原因分析: 1、NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象; 2、server机和目标机网卡传输速率冲突,使得目标机需要大量时间复制大量数据包,其实如果目标机的网卡速率够大,则不用分那么多包,也不会冲突。 问题的解决方案: 方法一: 在客户端改用TCP协议,使用下面的命令,在mount命令中加上参数tcp mount -o tcp ,nolock 192.168.14.223:/nfs_root /mnt 也可这样干: 跟踪了fs/nfs/nfsroot.c的代码,发现在nfs作为根文件系统时,参数可以直接写在“nfsroot=”后面,每个参数用逗号隔开,如: nfsroot=192.168.10.1:/rootfs,proto=tcp,nfsvers=3,nolock 这样就可以指定nfs使用tcp协议 方法二: 指定传输速率(限定传输时一次读写的数据大小) mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.14.223:/nfs_root /mnt 1 13.挂载时出卡在连接状态 解决:在确认网络连接无异常的情况下则可能是iptable或者网络防火墙阻拦了NFS使用的TCP和UDP的111以及2049端口.以ESX为例,在需要挂载NFS共享盘时首先需要编辑防火墙安全文件允许访问该端口.或者干脆禁止防火墙 svc: failed to register lockdv1 RPC service (errno 111).解决方案: nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。 解决方法:kill 文件锁(lockd)或者mount -o nolock 挂载时使用了RW权限挂载,当时读写仍然Permission denied重启NFS服务以后,在客户机通过 mount -o tcp,nolock 192.168.10.77:/home/gatieme/Work/NfsRoot /mnt/nfs 命令将网络文件mount到本地。执行完成之后,目录是可以访问了,但无法写入。感觉有点奇怪,明明在命令中指定可以写入了。 于是到网上搜索资料,发现exports目录权限中,有这么一个参数no_root_squash。 其作用是:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有root 的权限!。 默认情况使用的是相反参数root_squash 在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份。 因为我的客户端是使用root登录的,自然权限被压缩为nobody了,难怪无法写入。将配置信息改为: /home/gatieme/Work/NfsRoot 192.168.10.123(rw,no_root_squash) 1 1据说有点不安全,但问题是解决了。 转载:http://blog.csdn.net/gatieme/article/details/48625481 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |